Skip to content

fix: prevent active SV pacing interval from ratcheting slower - #51

Merged
masarray merged 2 commits into
mainfrom
fix/sv-pacing-immutable-nominal
Aug 3, 2026
Merged

fix: prevent active SV pacing interval from ratcheting slower#51
masarray merged 2 commits into
mainfrom
fix/sv-pacing-immutable-nominal

Conversation

@masarray

@masarray masarray commented Aug 3, 2026

Copy link
Copy Markdown
Owner

Summary

Addresses the final pacing review finding from PR #50.

Change

  • the nominal SV pacing interval is learned only from the initial four consistent unpaced observations;
  • once active, the nominal interval remains immutable for that stream/transport session;
  • moderate injection or scheduler lateness cannot feed back into the estimator and progressively reduce the wire rate;
  • a deliberate sample-rate change starts a new transport/session instead of attempting to infer a new rate from already paced intervals.

Tests

Adds deterministic coverage proving that:

  • long stalls do not alter the active nominal;
  • repeated moderate lateness does not ratchet the nominal upward;
  • even nearby paced observations are not fed back into the active estimator.

Frame encoding, sample counters, quality, APPID, VLAN, timestamps and per-stream/short injection locking remain unchanged.

@masarray
masarray marked this pull request as ready for review August 3, 2026 07:31

masarray commented Aug 3, 2026

Copy link
Copy Markdown
Owner Author

Final validation:

  • Public-source/provenance/license verification passed.
  • Windows Release solution build succeeded with 0 warnings and 0 errors.
  • AR.Iec61850.Tests: 443/443 passed.
  • A nominal SV interval activates only after four consistent initial observations.
  • Once active, it is immutable for the stream/transport session.
  • Long stalls, moderate repeated lateness and paced observations cannot ratchet the wire interval slower.
  • Per-stream pacing and the short shared Npcap injection critical section from PR fix: harden SV pacing estimator and isolate unrelated traffic #50 remain unchanged.
  • Test diagnostic artifact uploaded successfully.

@masarray
masarray merged commit c1afc68 into main Aug 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant